A Hybrid Regression Test Selection Technique for Object-Oriented Programs
نویسندگان
چکیده
We propose a regression test selection technique that is based on analysis of both the source code of an object-oriented program as well as the UML state machine models of the affected classes. We first construct a dependency graph model of the original program from the source code. When the program is suitably modified, the constructed model is updated to reflect the changes. Our model in addition to capturing control and data dependencies represents the dependencies arising from object-relations. To find the model elements affected due to a program change, we construct a forward slice of the constructed graph model, where each changed model element is used as a slicing criterion. Subsequently, we determine the affected methods from an analysis of the state machine models based on the changed statements. The test cases that exercise the affected model elements in the program model as well as the transitions caused by the affected methods in state machine models are selected for regression testing. Empirical studies carried out by us show that our technique selects on an average of 27.89 % more fault-revealing test cases compared to a purely dependence graph model-based technique while incurring about 38.21% increase in regression test suite size.
منابع مشابه
A Survey on Regression Test Selection Techniques on Aspect-Oriented Programming
An aspect oriented programming is gaining a lot of popularity these days, there is a growing interest because of crosscutting concerns in object oriented systems. When the aspect oriented features are added into object oriented features the new program needs to be regression tested, and, to reduce the cost, Selection technique is used which eliminates the redundant test cases and thus makes the...
متن کاملRegression Test Selection for C++ Software
Regression testing is an important but expensive software maintenance activity performed with the aim of providing confidence in modified software. Regression test selection techniques reduce the cost of regression testing by selecting test cases for a modified program from a previously existing test suite. Many researchers have addressed the regression test selection problem for procedural lan...
متن کاملSelecting Test Cases for Object Oriented Programs
Testing is used to assess the correctness of a program by running the program against a set of test data. The main problem in testing is that only a tiny fraction of the possible inputs of a program can be used to test it. Test selection techniques choose the test cases using models of the program and the bug distribution. Many different test selection techniques have been proposed. Each test s...
متن کاملA Program Model Based Regression Test Selection Technique For D Programming Language
Software testing can be stated as the process of validating and verifying that a computer program, application and product [1]. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Software testing, depending on the testing method employed, can be implemented at any time in the d...
متن کاملSelecting Regression Tests for Object-Oriented Software
Regression testing is an important but expensive software maintenance activity aimed at providing con-dence in modiied software. Selective retest methods reduce the cost of regression testing by selecting tests for a modiied program from a previously existing test suite. Many researchers have addressed the selective retest problem for procedural-language software, but few have addressed the pro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012